home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 1999-07-15 | 37.5 KB | 1,178 lines
/* $VER: StartADM_Toolmanager V.2.0 vom 14.07.1999 Dieses Script ist interessant für User, die: - ADM über Toolmanager aufrufen - das Programm Voice-Log zum Anwählen benutzen. - und Homebanking mit dem Amiga betreiben wollen. Dabei kann man dem "ToolmanagerDock" mit diesem Script eine Dreifachfunktion verschaffen. 1. Bei Start (anklicken) vom ToolmanagerDock wird ADM aufgerufen 2. Bei weiteren Start vom ToolmanagerDock wird der aktuelle Eintrag mit Voice-log angewählt oder das Homebankingmakro ausgeführt (Überweisung erstellen oder senden). Installation: - Toolmanager aufrufen. Falls ADM bereits in Toolmanager installiert ist, das Programmobjekt AddressMaster anwählen. Als "Programmtyp" AREXX wählen und in "BEFEHL" den kompletten Pfad dieses Scriptes eintragen. Abspeichern, das war es! - Voicelog sollte sich im ADM-Verzeichnis "LogTel" befinden - Soll der Aufruf nicht über Toolmanager erfolgen, einfach dieses Skript in`s Arexx-Menü von ADM eintragen. Dieses Skript sollte sich im Verzeichnis ADM/ARexx/Homebanking befinden Fuellt ein ASCII-Textformular aus und übergibt es an einen Editor. Der Editor "ed" oder "GoldED" muss sich im Suchpfad befinden. Ansonsten muss unten der Pfad zum Editor eingestellt werden. Von Frank Seidel. http://home.t-online.de/home/Fr.Seidel/start.html http://www.FrankSeidel.de - hab jetzt ne eigene Domain :)) Fr.Seidel@t-online.de */ IF ~SHOW(LIBRARIES,'rexxsupport.library') THEN IF ~ADDLIB('rexxsupport.library',0,-30,0) THEN EXIT 10 IF ~SHOW(LIBRARIES,'rexxreqtools.library') THEN IF ~ADDLIB('rexxreqtools.library',0,-30,0) THEN EXIT 10 IF EXISTS('ENV:ADMBankingPrefs') THEN PfadVariable = 'ENV:' ELSE call Fehler1 /* ---- Definitionen */ OPTIONS RESULTS Address command 'c:assign GoldED: exists >ENV:adm10' line2 = OPEN('EDIT','ENV:adm10','R') line2 = READLN('EDIT') IF LENGTH line2 > 1 THEN EDIT = SPACE(line2,0) OPTIONS RESULTS IF POS('GoldED:notassigned',EDIT) > 0 THEN editor = "c:ed" ELSE DO editor = "GoldED:ed STICKY" end /* ---- setzen der Stemvariablen für ADMPfad und Zugangsseite */ Address command 'copy' (PfadVariable'ADMBankingPrefs/Zugangsseite') 'to ENV:adm8' Address command 'copy' (PfadVariable'ADMBankingPrefs/ADMPfad') 'to ENV:adm11' /* ---- auslesen des Pfades, des Passwortes und der Kontonummer */ OPTIONS RESULTS line = OPEN('Pfad','ENV:adm11','R') line = READLN('Pfad') IF LENGTH line > 1 THEN ADMPFAD = SPACE(line,0) VoiceLogPath = (ADMPFAD || 'LogTel/Voice-Log') line1 = OPEN('PWPfad',(PfadVariable'ADMBankingPrefs/ZugangPW'),'R') line1 = READLN('PWPfad') IF LENGTH line1 > 1 THEN PW = SPACE(line1,0) line3 = OPEN('KNPfad',(PfadVariable'ADMBankingPrefs/Kontonummer'),'R') line3 = READLN('KNPfad') IF LENGTH line3 > 1 THEN KN = SPACE(line3,0) IF SHOW('PORTS','ADM.1',) THEN DO ADDRESS 'ADM.1' OPTIONS RESULTS call rtezRequest "Anwählen oder Überweisung ?","_Anwählen | Ü_berweisung starten|_Überweisung erstellen","Was soll`s sein ?" if RESULT = 0 THEN DO IF PW = 'nichtgesetzt' Then Address command 'setenv adm7 'nicht gesetzt'' else Address command 'copy' PW 'to ENV:adm7' Address command 'copy' KN 'to ENV:adm9' rx = "sys:rexxc/rx >NIL:" exe = "C:execute >NIL:" Flags = 'rtez_flags = ezreqf_centertext' StartSkriptDir = "S:Üwsg/" Startskript = (ADMPfad || 'ARexx/Homebanking/Vorlage') IF ~EXISTS('Multiterm:Rexx') THEN address command 'c:makedir >NIL: Multiterm:Rexx' Skriptdir = "Multiterm:Rexx/" askreq = "c:askreq" protect = "c:protect >NIL:" alle = "rwesd all" setenv = "c:setenv " Show = " Show " ja = " ja " adm1 = " adm1 " adm2 = " adm2 " adm3 = " adm3 " adm4 = " adm4 " adm5 = " adm5 " adm6 = " adm6 " adm12 = " adm12 " adm13 = " adm13 " /* --- Abfrage per Requester öffnen */ call rtezRequest "vorhanden oder neu ?","_vorhandener Eintrag | _neuen anlegen","Empfänger ?" if RESULT = 1 THEN call weiter else do IF SHOW('PORTS','ADM.1',) THEN DO ADDRESS 'ADM.1' OPTIONS RESULTS call rtezRequest "Firma oder Person ?","_Firma | _Person","Empfänger ?" if RESULT = 1 THEN DO OPTIONS RESULTS call rtgetstring '','Bitte Firmennamen eingeben,'||'0A'x||'keine Sonderzeichen verwenden'||'0A'x||'und höchstens 27 Zeichen !!!','Abfrage','fertig',Flags ADM.Company = Result say ADM.Company end if RESULT = 0 THEN DO OPTIONS RESULTS call rtgetstring '','Bitte Nachnamen eingeben,'||'0A'x||'keine Sonderzeichen verwenden und'||'0A'x||'einschließlich Vornamen höchstens 27 Zeichen !!!','Abfrage','fertig',Flags ADM.Lastname = Result say ADM.Lastname call rtgetstring '','Bitte Vornamen eingeben,'||'0A'x||'keine Sonderzeichen verwenden und'||'0A'x||'einschließlich Nachnamen höchstens 27 Zeichen !!!','Abfrage','fertig',Flags ADM.Firstname = Result say ADM.Firstname end end OPTIONS RESULTS call rtgetstring '','Bitte Kontonummer ohne Leerzeichen eingeben','Abfrage','fertig',Flags ADM.ACCOUNT = Result pp = LENGTH(ADM.ACCOUNT) DO WHILE pp > 10 call rtezREQUEST 'Bitte Kontonummer höchstens 10 stellig eingeben','Mach ich','Fehler',Flags call rtgetstring '','Bitte Kontonummer eingeben','Abfrage','fertig',Flags ADM.ACCOUNT = Result pp = LENGTH(ADM.ACCOUNT) END call rtgetstring '','Bitte Bankleitzahl ohne Leerzeichen eingeben','Abfrage','fertig',Flags ADM.BANKCODE = Result pp = LENGTH(ADM.BANKCODE) DO WHILE pp > 10 call rtezREQUEST 'Bitte Bankleitzahl höchstens 10 stellig eingeben','Mach ich','Fehler',Flags call rtgetstring '','Bitte Bankleitzahl eingeben','Abfrage','fertig',Flags ADM.BANKCODE = Result pp = LENGTH(ADM.BANKCODE) END call rtgetstring '','Bitte Verwendungszweck 1. Zeile eingeben,'||'0A'x||'keine Sonderzeichen verwenden'||'0A'x||'und höchstens 27 Zeichen !!!','Abfrage','fertig',Flags ADM.PURPOSE1 = Result pp = LENGTH(ADM.PURPOSE1) DO WHILE pp > 27 call rtezREQUEST 'Bitte Verwendungszweck höchstens 27 stellig eingeben','Mach ich','Fehler',Flags call rtgetstring '','Bitte Verwendungszweck 1. Zeile eingeben','Abfrage','fertig',Flags ADM.PURPOSE1 = Result pp = LENGTH(ADM.PURPOSE1) END call rtgetstring '','Bitte Verwendungszweck 2. Zeile eingeben,'||'0A'x||'keine Sonderzeichen verwenden'||'0A'x||'und höchstens 27 Zeichen !!!','Abfrage','fertig',Flags ADM.PURPOSE2 = Result pp = LENGTH(ADM.PURPOSE2) DO WHILE pp > 27 call rtezREQUEST 'Bitte Verwendungszweck höchstens 27 stellig eingeben','Mach ich','Fehler',Flags call rtgetstring '','Bitte Verwendungszweck 2. Zeile eingeben','Abfrage','fertig',Flags ADM.ACCOUNT = Result pp = LENGTH(ADM.PURPOSE2) END END NEWADDRESS ADM weiter: GETADDRESS ADM IF ADM.SORT = "COMPANY" THEN DO NAME = SPACE(ADM.Company,0) END ELSE DO NAME = SPACE(ADM.LastName || ADM.FirstName,0) END IF ADM.SORT = "COMPANY" THEN DO NAMENLG = ADM.Company END ELSE DO NAMENLG = ADM.FirstName ADM.LastName END OPTIONS RESULTS call rtezRequest NAMENLG ," _ja | _nein ","Diesen Eintrag verwenden ?:" if RESULT = 1 then NAMENLG = NAMENLG ELSE DO call rtezrequest(" Dann eben nicht ", "_Abbruch") call putze EXIT 10 end ADM.FirstName.si = ADM.Firstname /* sichern der Namenseinträge */ ADM.LastName.si = ADM.Lastname /* zum spateren wiederherstellen */ ADM.Company.si = ADM.Company ADM.Bankcode.si = ADM.Bankcode /* Überprüfung ob der Eintrag (Name) mehr als 26 Stellen hat */ IF LENGTH(NAMENLG) <28 THEN NAMENLG = NAMENLG ELSE DO call rtezrequest 'Der Namenseintrag darf inclusive Leerstelle'||'0A'x||'zwischen Vor- und Nachnamen nur 27 Stellen haben'||'0A'x||'- bitte ändern -','_Abbruch','Fehler',Flags cmd = setenv || show || ja address command cmd call putze EXIT 10 END /* Überprüfung ob im Namen Sonderzeichen enthalten sind */ /* als erstes im Firmennamen */ IF ADM.SORT = "COMPANY" THEN DO NameSZ=UPPER(ADM.COMPANY) IF INDEX(NameSZ,"Ä") < 1 THEN NameSZ = NameSZ ELSE DO call rtezrequest 'der Firmenname enthält Sonderzeichen Ä'||'0A'x||'- wird temporär geändert -','Weiter','Hinweis',Flags pp = POS("Ä",NameSZ) DO WHILE pp > 0 NameSZ = INSERT("A",NameSZ,pp-1) pp = POS("Ä",NameSZ,pp+2) END; NameSZ = TRANSLATE(NameSZ,"E","Ä") Teil3 = NameSZ cmd = setenv || adm13 || Teil3 address command cmd NameSZ = Teil3 ADM.COMPANY = NameSZ CHANGEADDRESS ADM GETADDRESS ADM END IF INDEX(NameSZ,"Ü") < 1 THEN NameSZ = NameSZ ELSE DO call rtezrequest 'der Firmenname enthält Sonderzeichen Ü'||'0A'x||'- wird temporär geändert -','Weiter','Hinweis',Flags pp = POS("Ü",NameSZ) DO WHILE pp > 0 NameSZ = INSERT("U",NameSZ,pp-1) pp = POS("Ü",NameSZ,pp+2) END; NameSZ = TRANSLATE(NameSZ,"E","Ü") Teil3 = NameSZ cmd = setenv || adm13 || Teil3 address command cmd NameSZ = Teil3 ADM.COMPANY = NameSZ CHANGEADDRESS ADM GETADDRESS ADM END IF INDEX(NameSZ,"Ö") < 1 THEN NameSZ = NameSZ ELSE DO call rtezrequest 'der Firmenname enthält Sonderzeichen Ö'||'0A'x||'- wird temporär geändert -','Weiter','Hinweis',Flags pp = POS("Ö",NameSZ) DO WHILE pp > 0 NameSZ = INSERT("O",NameSZ,pp-1) pp = POS("Ö",NameSZ,pp+2) END; NameSZ = TRANSLATE(NameSZ,"E","Ö") Teil3 = NameSZ cmd = setenv || adm13 || Teil3 address command cmd NameSZ = Teil3 ADM.COMPANY = NameSZ CHANGEADDRESS ADM GETADDRESS ADM END IF INDEX(NameSZ,"ß") < 1 THEN NameSZ = NameSZ ELSE DO call rtezrequest 'der Firmenname enthält Sonderzeichen ß'||'0A'x||'- wird temporär geändert -','Weiter','Hinweis',Flags pp = POS("ß",NameSZ) DO WHILE pp > 0 NameSZ = INSERT("S",NameSZ,pp-1) pp = POS("Ö",NameSZ,pp+2) END; NameSZ = TRANSLATE(NameSZ,"S","ß") Teil3 = NameSZ cmd = setenv || adm13 || Teil3 address command cmd NameSZ = Teil3 ADM.COMPANY = NameSZ CHANGEADDRESS ADM GETADDRESS ADM END NAMENLG = ADM.COMPANY IF LENGTH(NAMENLG) <28 THEN NAMENLG = NAMENLG ELSE DO call rtezrequest 'durch die Änderung der Sonderzeichen ' ||'0A'x|| 'ist der Name zu lang geworden','_Abbruch','Fehler',Flags call rtezrequest 'Der Namenseintrag darf inclusive'||'0A'x||'Leerstellen maximal 27 Stellen haben'||'0A'x||'- bitte ändern -', '_Abbruch','Fehler',Flags cmd = setenv || show || ja address command cmd call putze EXIT 10 END END /* jetzt im Nachnamen */ ELSE DO NameSZN=UPPER(ADM.LASTNAME) NameSZV=UPPER(ADM.FIRSTNAME) IF INDEX(NameSZN,"Ä") < 1 THEN NameSZN = NameSZN ELSE DO call rtezrequest 'der Nachname enthält Sonderzeichen Ä'||'0A'x||'- wird temporär geändert -','Weiter','Hinweis',Flags pp = POS("Ä",NameSZN) DO WHILE pp > 0 NameSZN = INSERT("A",NameSZN,pp-1) pp = POS("Ä",NameSZN,pp+2) END; NameSZN = TRANSLATE(NameSZN,"E","Ä") Teil3 = SPACE(NameSZN,0) cmd = setenv || adm13 || Teil3 address command cmd NameSZN = Teil3 ADM.LASTNAME = NameSZN CHANGEADDRESS ADM GETADDRESS ADM END IF INDEX(NameSZN,"Ü") < 1 THEN NameSZN = NameSZN ELSE DO call rtezrequest 'der Nachname enthält Sonderzeichen Ü'||'0A'x||'- wird temporär geändert -','Weiter','Hinweis',Flags pp = POS("Ü",NameSZN) DO WHILE pp > 0 NameSZN = INSERT("U",NameSZN,pp-1) pp = POS("Ü",NameSZN,pp+2) END; NameSZN = TRANSLATE(NameSZN,"E","Ü") Teil3 = SPACE(NameSZN,0) cmd = setenv || adm13 || Teil3 address command cmd NameSZN = Teil3 ADM.LASTNAME = NameSZN CHANGEADDRESS ADM GETADDRESS ADM END IF INDEX(NameSZN,"Ö") < 1 THEN NameSZN = NameSZN ELSE DO call rtezrequest 'der Nachname enthält Sonderzeichen Ö'||'0A'x||'- wird temporär geändert -','Weiter','Hinweis',Flags pp = POS("Ö",NameSZN) DO WHILE pp > 0 NameSZN = INSERT("O",NameSZN,pp-1) pp = POS("Ö",NameSZN,pp+2) END; NameSZN = TRANSLATE(NameSZN,"E","Ö") Teil3 = SPACE(NameSZN,0) cmd = setenv || adm13 || Teil3 address command cmd NameSZN = Teil3 ADM.LASTNAME = NameSZN CHANGEADDRESS ADM GETADDRESS ADM END IF INDEX(NameSZN,"ß") < 1 THEN NameSZN = NameSZN ELSE DO call rtezrequest 'der Nachname enthält Sonderzeichen ß'||'0A'x||'- wird temporär geändert -','Weiter','Hinweis',Flags pp = POS("ß",NameSZN) DO WHILE pp > 0 NameSZN = INSERT("S",NameSZN,pp-1) pp = POS("Ö",NameSZN,pp+2) END; NameSZN = TRANSLATE(NameSZN,"S","ß") Teil3 = SPACE(NameSZN,0) cmd = setenv || adm13 || Teil3 address command cmd NameSZN = Teil3 ADM.LASTNAME = NameSZN CHANGEADDRESS ADM GETADDRESS ADM END /* und jetzt im Vornamen */ IF INDEX(NameSZV,"Ä") < 1 THEN NameSZV = NameSZV ELSE DO call rtezrequest 'der Vorname enthält Sonderzeichen Ä'||'0A'x||'- wird temporär geändert -','Weiter','Hinweis',Flags pp = POS("Ä",NameSZV) DO WHILE pp > 0 NameSZV = INSERT("A",NameSZV,pp-1) pp = POS("Ä",NameSZV,pp+2) END; NameSZV = TRANSLATE(NameSZV,"E","Ä") Teil3 = SPACE(NameSZV,0) cmd = setenv || adm13 || Teil3 address command cmd NameSZV = Teil3 ADM.FIRSTNAME = NameSZV CHANGEADDRESS ADM GETADDRESS ADM END IF INDEX(NameSZV,"Ü") < 1 THEN NameSZV = NameSZV ELSE DO call rtezrequest 'der Vorname enthält Sonderzeichen Ü'||'0A'x||'- wird temporär geändert -','Weiter','Hinweis',Flags pp = POS("Ü",NameSZV) DO WHILE pp > 0 NameSZV = INSERT("U",NameSZV,pp-1) pp = POS("Ü",NameSZV,pp+2) END; NameSZV = TRANSLATE(NameSZV,"E","Ü") Teil3 = SPACE(NameSZV,0) cmd = setenv || adm13 || Teil3 address command cmd NameSZV = Teil3 ADM.FIRSTNAME = NameSZV CHANGEADDRESS ADM GETADDRESS ADM END IF INDEX(NameSZV,"Ö") < 1 THEN NameSZV = NameSZV ELSE DO call rtezrequest 'der Vorname enthält Sonderzeichen Ö'||'0A'x||'- wird temporär geändert -','Weiter','Hinweis',Flags pp = POS("Ö",NameSZV) DO WHILE pp > 0 NameSZV = INSERT("O",NameSZV,pp-1) pp = POS("Ö",NameSZV,pp+2) END; NameSZV = TRANSLATE(NameSZV,"E","Ö") Teil3 = SPACE(NameSZV,0) cmd = setenv || adm13 || Teil3 address command cmd NameSZV = Teil3 ADM.FIRSTNAME = NameSZV CHANGEADDRESS ADM GETADDRESS ADM END IF INDEX(NameSZV,"ß") < 1 THEN NameSZV = NameSZV ELSE DO call rtezrequest 'der Vorname enthält Sonderzeichen ß'||'0A'x||'- wird temporär geändert -','Weiter','Hinweis',Flags pp = POS("ß",NameSZV) DO WHILE pp > 0 NameSZV = INSERT("S",NameSZV,pp-1) pp = POS("Ö",NameSZV,pp+2) END; NameSZV = TRANSLATE(NameSZV,"S","ß") Teil3 = SPACE(NameSZV,0) cmd = setenv || adm13 || Teil3 address command cmd NameSZV = Teil3 ADM.FIRSTNAME = NameSZV CHANGEADDRESS ADM GETADDRESS ADM END NAMENLG = ADM.FirstName ADM.LastName IF LENGTH(NAMENLG) <28 THEN NAMENLG = NAMENLG ELSE DO call rtezrequest 'durch die Änderung der Sonderzeichen'||'0A'x||'ist der Name zu lang geworden','_Abbruch','Fehler',Flags call rtezrequest 'Der Namenseintrag darf inclusive Leerstelle'||'0A'x||'zwischen Vor- und Nachnamen maximal 27 Stellen haben'||'0A'x||'- bitte ändern -','_Abbruch','Fehler',Flags cmd = setenv || show || ja address command cmd call putze EXIT 10 END END /* Erstellung des Namens für das ARexx-Skript */ IF LENGTH NAME > 1 THEN Name = SUBSTR(NAME,1,10,'_')_Ueberwg.rexx IF ADM.SORT = "COMPANY" THEN DO NAME1 = SPACE(ADM.Company,0) END ELSE DO NAME1 = SPACE(ADM.LastName || ADM.FirstName,0) END IF LENGTH NAME1 > 1 THEN Name1 = SUBSTR(NAME1,1,10,'_').1 /* Überprüfung ob Bankleitzahl,Kontonummer und Verwendungszweck zur Verfügung stehen */ IF WORDLENGTH(ADM.BANKCODE,1) > 1 THEN ADM.BANKCODE = ADM.BANKCODE ELSE DO call rtezrequest "Bankleitzahl in ADM fehlt","Abbruch","Fehler" cmd = setenv || show || ja address command cmd call putze EXIT 10 END /* Überprüfung ob Bankleitzahl Leerstellen enthält + Änderung */ IF INDEX(ADM.BANKCODE," ") < 1 THEN ADM.BANKCODE = ADM.BANKCODE ELSE DO call rtezrequest 'die Bankleitzahl enthält Lerstellen'||'0A'x||'- wird temporär geändert -','Weiter','Hinweis',Flags Teil3 = SPACE(ADM.BANKCODE,0) cmd = setenv || adm13 || Teil3 address command cmd ADM.BANKCODE = Teil3 CHANGEADDRESS ADM GETADDRESS ADM END /* Bankleitzahl zur Überprüfung anzeigen */ OPTIONS RESULTS call rtezRequest ADM.Bankcode ," _ja | _nein ","Bankleitzahl richtig ?:" if RESULT = 1 THEN ADM.BANKCODE = SPACE(ADM.BANKCODE,0) ELSE DO call rtezrequest("Bitte Bankleitzahl in ADM korrigieren", "_Abbruch") cmd = setenv || show || ja address command cmd call putze EXIT 10 END /* Kontonummer des Empfängers auslesen und auf Anzahl der Stellen überprüfen. Hat die Kontonummer weniger als 10 Stellen wird (+ter$) nachgesendet. */ Konto = SPACE(ADM.ACCOUNT,0) IF WORDLENGTH(Konto,1) > 1 THEN Konto1 = SPACE(ADM.ACCOUNT,0) ELSE DO call rtezrequest "Kontonummer in ADM fehlt","Abbruch","Fehler" cmd = setenv || show || ja address command cmd call putze EXIT 10 END /* Kontonummer zur Überprüfung anzeigen */ OPTIONS RESULTS call rtezRequest ADM.ACCOUNT ," _ja | _nein ","Kontonummer richtig ?:" if RESULT = 1 THEN ADM.ACCOUNT = ADM.ACCOUNT ELSE DO call rtezrequest("Bitte Kontonummer in ADM korrigieren", "_Abbruch") cmd = setenv || show || ja address command cmd call putze EXIT 10 END cmd = setenv | | adm4 | | Konto1 address command cmd /* prüfen ob Eintrag in Verwendungszweck Zeile 1 enthalten */ IF WORDLENGTH(ADM.PURPOSE1,1) > 1 THEN VZweck1 = ADM.PURPOSE1 ELSE DO call rtezrequest "Verwendungszweck 1. Zeile in ADM fehlt","Abbruch","Fehler" cmd = setenv || show || ja address command cmd call putze EXIT 10 END /* prüfen ob Verwendungszweck Zeile 1 Sonderzeichen enthält */ ADM.PURPOSE1=UPPER(ADM.PURPOSE1) IF INDEX(ADM.PURPOSE1,"Ä") < 1 THEN VZweck1 = ADM.PURPOSE1 ELSE DO call rtezrequest 'Verwendungszweck Zeile 1 enthält Sonderzeichen Ä'||'0A'x||'- bitte ändern -','Abbruch','Fehler',Flags cmd = setenv || show || ja address command cmd call putze EXIT 10 END IF INDEX(ADM.PURPOSE1,"Ü") < 1 THEN VZweck1 = ADM.PURPOSE1 ELSE DO call rtezrequest 'Verwendungszweck Zeile 1 enthält Sonderzeichen Ü'||'0A'x||'- bitte ändern -','Abbruch','Fehler',Flags cmd = setenv || show || ja address command cmd call putze EXIT 10 END IF INDEX(ADM.PURPOSE1,"Ö") < 1 THEN VZweck1 = ADM.PURPOSE1 ELSE DO call rtezrequest 'Verwendungszweck Zeile 1 enthält Sonderzeichen Ö'||'0A'x||'- bitte ändern -','Abbruch','Fehler',Flags cmd = setenv || show || ja address command cmd call putze EXIT 10 END IF INDEX(ADM.PURPOSE1,"ß") < 1 THEN VZweck1 = ADM.PURPOSE1 ELSE DO call rtezrequest 'Verwendungszweck Zeile 1 enthält Sonderzeichen ß'||'0A'x||'- bitte ändern -','Abbruch','Fehler',Flags cmd = setenv || show || ja address command cmd call putze EXIT 10 END /* Verwendungszweck Zeile 1 zur Überprüfung anzeigen */ OPTIONS RESULTS call rtezRequest VZweck1 ," _ja | _nein ","Verwendungszweck 1.Zeile richtig ?:" if RESULT = 1 THEN VZweck1 = ADM.PURPOSE1 ELSE DO call rtezrequest("Bitte Verwendungszweck Zeile1 in ADM korrigieren", "_Abbruch") cmd = setenv || show || ja address command cmd call putze EXIT 10 END /* prüfen ob Eintrag in Verwendungszweck Zeile 2 enthalten */ IF WORDLENGTH(ADM.PURPOSE2,1) > 1 THEN VZweck2 = ADM.PURPOSE2 ELSE DO call rtezrequest "Verwendungszweck 2. Zeile in ADM fehlt","Abbruch","Fehler" cmd = setenv || show || ja address command cmd call putze EXIT 10 END /* prüfen ob Verwendungszweck Zeile 2 Sonderzeichen enthält */ ADM.PURPOSE2=UPPER(ADM.PURPOSE2) IF INDEX(ADM.PURPOSE2,"Ä") < 1 THEN VZweck2 = ADM.PURPOSE2 ELSE DO call rtezrequest 'Verwendungszweck Zeile 2 enthält Sonderzeichen Ä'||'0A'x||'- bitte ändern -','Abbruch','Fehler',Flags cmd = setenv || show || ja address command cmd call putze EXIT 10 END IF INDEX(ADM.PURPOSE2,"Ü") < 1 THEN VZweck2 = ADM.PURPOSE2 ELSE DO call rtezrequest 'Verwendungszweck Zeile 2 enthält Sonderzeichen Ü'||'0A'x||'- bitte ändern -','Abbruch','Fehler',Flags cmd = setenv || show || ja address command cmd call putze EXIT 10 END IF INDEX(ADM.PURPOSE2,"Ö") < 1 THEN VZweck2 = ADM.PURPOSE2 ELSE DO call rtezrequest 'Verwendungszweck Zeile 2 enthält Sonderzeichen Ö'||'0A'x||'- bitte ändern -','Abbruch','Fehler',Flags cmd = setenv || show || ja address command cmd call putze EXIT 10 END IF INDEX(ADM.PURPOSE2,"ß") < 1 THEN VZweck2 = ADM.PURPOSE2 ELSE DO call rtezrequest 'Verwendungszweck Zeile 2 enthält Sonderzeichen ß'||'0A'x||'- bitte ändern -','Abbruch','Fehler',Flags cmd = setenv || show || ja address command cmd call putze EXIT 10 END /* Verwendungszweck Zeile 2 zur Überprüfung anzeigen */ OPTIONS RESULTS call rtezRequest VZweck2 ," _ja | _nein ","Verwendungszweck 2.Zeile richtig ?:" if RESULT = 1 THEN VZweck2 = ADM.PURPOSE2 ELSE DO call rtezrequest("Bitte Verwendungszweck Zeile2 in ADM korrigieren", "_Abbruch") cmd = setenv || show || ja address command cmd call putze EXIT 10 END /* ----- DM oder Euro ? ------- */ OPTIONS RESULTS call rtezRequest "Währung für Überweisung:"," _DM |_Euro ","Abfrage:" if RESULT = 1 then filename = ADMPfad || 'ARexx/Homebanking/ADM.Überweisung_DM.rexx' ELSE DO filename = ADMPfad || 'ARexx/Homebanking/ADM.Überweisung_Euro.rexx' END if filename = ADMPfad || 'ARexx/Homebanking/ADM.Überweisung_DM.rexx' then ZM = 'DM' if filename = ADMPfad || 'ARexx/Homebanking/ADM.Überweisung_Euro.rexx' then ZM = 'EURO' /* --- Variable für TAN,DM und Pfennige setzen */ OPTIONS RESULTS call rtezRequest "bitte TAN-Eingabe bestimmen","TAN von _Disk lesen|per _Abfragerequester", "Makro-Hinweis" if RESULT = 0 THEN DO call rtgetstring '','Bitte die sechsstellige'||'0A'x||'Tan eingeben','Abfrage','fertig',Flags cmd = setenv | | adm1 | | result address command cmd call rtgetstring '','Bitte den DM- oder'||'0A'x||'EURO-Betrag eingeben','Abfrage','fertig',Flags cmd = setenv | | adm2 | | result address command cmd call rtgetstring '','Bitte die Pfennige'||'0A'x||'oder Cent eingeben','Abfrage','fertig',Flags cmd = setenv | | adm3 | | result address command cmd end if RESULT = 1 THEN DO IF ~EXISTS('TAN:TAN.adm') THEN DO call rtezRequest "kann TAN:TAN.adm nicht finden","_Datei erstellen und Tan in Datei eintragen|Diskette _eingelegt","Fehler-Hinweis" if RESULT = 1 THEN DO call rtezrequest('Bitte zuerst Diskette formatieren und Datenträgernamen TAN vergeben', '_Fertig') address command 'c:ed TAN:TAN.adm' END END IF EXISTS('TAN:TAN.adm') THEN DO call rtezRequest "TAN:TAN.adm vorhanden","TAN _einlesen|_neue Tan in Datei eintragen","Was willst Du machen ?" if RESULT = 0 THEN address command 'c:ed TAN:TAN.adm' END line4 = OPEN('TANVAR','TAN:TAN.adm','R') line4 = READLN('TANVAR') line5 = OPEN('adm1','ENV:adm1','W') line5 = WRITELN('adm1',line4) line4 = Close('TANVAR') line5 = Close('adm1') CALL OPEN out,"ram:ED_temp",write CALL WRITELN out, 'd' CALL WRITELN out, 'x' CALL CLOSE out call rtezREQUEST 'TAN aus Datei lesen und Überweisungsbetrag abfragen !'||'0A'x ||'Hinweis:'||'0A'x||'Sollte der Editor stehen bleiben und die Meldung'||'0A'x||'LAST LINE DELETED erscheinen, ist die letzte TAN'||'0A'x||'verbraucht. Bitte gleich neue TANs eintragen + ESC X.','Aha','Makro-Hinweis', Flags call rtgetstring '','Bitte den DM- oder'||'0A'x||'EURO-Betrag eingeben','Abfrage','fertig',Flags cmd = setenv | | adm2 | | result address command cmd call rtgetstring '','Bitte die Pfennige'||'0A'x||'oder Cent eingeben','Abfrage','fertig',Flags cmd = setenv | | adm3 | | result address command cmd cmd = 'c:ed tan:tan.adm WITH RAM:ED_temp' address command cmd cmd = 'c:protect TAN:tan.adm swedr' address command cmd cmd = 'run >NIL: c:delete RAM:ED_Temp' address command cmd end /* prüfen ob TAN sechstellig und Pfennige zweistellig angegeben wurden */ IF ~EXISTS('ENV:adm1') THEN CALL Fehler2 pTAN = OPEN('TANPr','ENV:adm1','R') pTAN = READLN('TANPr') pTAN1 = pTAN pTAN = close('TANPr') pTAN = close('ENV:adm1') pTAN1 = SPACE(pTAN1,0) IF LENGTH(pTAN1) ~= 6 THEN call Fehler2 IF ~EXISTS('ENV:adm2') THEN CALL Fehler3 pGG = OPEN('GG','ENV:adm2','R') pGG = READLN('GG') pGG1 = space(pGG,0) pGG = close('GG') pGG = close('ENV:adm2') IF LENGTH(pGG1) < 1 THEN call Fehler3 IF ~EXISTS('ENV:adm3') THEN CALL Fehler3 pPC = OPEN('PC','ENV:adm3','R') pPC = READLN('PC') pPC1 = space(pPC,0) pPC = close('PC') pPC = close('ENV:adm3') IF LENGTH(pPC1) ~= 2 THEN call Fehler3 /* alle Daten nochmal amzeigen */ OPTIONS RESULTS call rtezREQUEST 'Die Daten der Überweisung lauten:'||'0A'x ||'---------------------------------'||'0A'x ||'Name : 'Namenlg||'0A'x||'Kontonummer : 'ADM.Account||'0A'x||'Bankleitzahl : 'ADM.Bankcode'0A'x||'1.Verwendungszweck: 'VZweck1'0A'x||'2.Verwendungszweck: 'VZweck2'0A'x||'Betrag :' pGG1','pPC1 ZM'0A'x||'Transaktionsnummer: 'pTAN1,'_Alles richtig|_Fehler drin - Abbruch','Anzeige' if result = 0 then call Fehler3 /* --- Prüfen ob schon eine Überweisung für diesen Eintrag existiert und neuen Namen geben zwanzig sollten eigentlich reichen */ IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')2Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')3Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')4Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')5Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')6Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')7Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')8Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')9Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')10Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')11Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')12Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')13Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')14Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')15Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')16Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')17Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')18Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')19Ueberwg.rexx IF EXISTS('Multiterm:Rexx/' || name ) THEN name = SUBSTR(NAME,1,10,'_')20Ueberwg.rexx cmd = setenv | | adm5 | | name address command cmd /* --- Formular ausfüllen Dazu ADMs Druckausgabe in eine Datei umlenken */ SETPRINTER Skriptdir || name oldprinter = RESULT PRINTLETTER '"' || filename || '"' if RESULT = "-1" then do call rtezrequest("Kann Datei nicht öffnen!", "_Abbruch") exit end SETPRINTER oldprinter /* --- Editieren mit dem Editor */ /* deaktiviert, da sich die Überprüfung erübrigt. cmd = editor Skriptdir || name address command cmd */ /* zweiter Teil - Startskript ausfüllen wenn gewünscht*/ call rtezREQUEST "Soll ein Startskript erstellt werden ?","_Ja klar ! |_Nein - Abruch","Makro-Hinweis" if RESULT = 0 then call putze if RESULT = 1 then IF ~EXISTS('S:ÜWSG') THEN address command 'c:makedir >NIL: S:ÜWSG' /* --- Variable für Überweisungsdatum setzen */ call rtgetstring '','Bitte Fälligkeitsdatum'||'0A'x||'sechsstellig eingeben,'||'0A'x||'Format TTMMJJ','Abfrage','fertig',Flags cmd = setenv | | adm12 | | result address command cmd DO WHILE ~EXISTS('ENV:adm12') call rtezREQUEST 'Bitte Datum 6 stellig eingeben'||'0A'x||'Format TTMMJJ','Mach ich','Fehler',Flags call rtgetstring '','Bitte Fälligkeitsdatum'||'0A'x||'sechstellig eingeben,'||'0A'x||'Format TTMMJJ','Abfrage','fertig',Flags cmd = setenv | | adm12 | | result address command cmd end DatVar = OPEN('Check','ENV:adm12','R') DatVar = READCH('Check',20) Datvar1 = Space(DatVar,0) DatVar = Close('Check') Datvar = DatVar1 pp = LENGTH(Datvar) DO WHILE pp ~= 6 call rtezREQUEST 'Bitte Datum 6 stellig eingeben'||'0A'x||'Format TTMMJJ','Mach ich','Fehler',Flags call rtgetstring '','Bitte Fälligkeitsdatum'||'0A'x||'sechsstellig eingeben,'||'0A'x||'Format TTMMJJ','Abfrage','fertig',Flags cmd = setenv | | adm12 | | result address command cmd DatVar = OPEN('Check','ENV:adm12','R') DatVar = READCH('Check',20) Datvar1 = Space(DatVar,0) DatVar = Close('Check') Datvar = DatVar1 pp = LENGTH(DatVar) END /* --- Prüfen ob schon eine Überweisung für diesen Eintrag existiert, welche am gleichen Tagen ausgeführt werden soll und neuen Namen geben fünf sollten eigentlich reichen */ IF EXISTS(StartSkriptDir || DatVar || name1) THEN name1 = SUBSTR(NAME1,1,10,'_').2 IF EXISTS(StartSkriptDir || DatVar || name1) THEN name1 = SUBSTR(NAME1,1,10,'_').3 IF EXISTS(StartSkriptDir || DatVar || name1) THEN name1 = SUBSTR(NAME1,1,10,'_').4 IF EXISTS(StartSkriptDir || DatVar || name1) THEN name1 = SUBSTR(NAME1,1,10,'_').5 cmd = setenv || adm6 || DatVar || name1 address command cmd /* --- StartSkript ausfüllen Dazu ADMs Druckausgabe in eine Datei umlenken */ SETPRINTER StartSkriptdir || DatVar || name1 oldprinter = RESULT PRINTLETTER '"' || Startskript || '"' if RESULT = "-1" then do call rtezrequest("Kann Datei nicht öffnen!", "_Abbruch") exit end SETPRINTER oldprinter /* --- Editieren mit dem Editor - soll diese Funktion zum Ändern des Makros ausgeführt werden, müssen in den nächsten zwei Zeilen die Zeichen /* und */ entfernt werden */ /*cmd = editor StartSkriptdir || DatVar || name1 address command cmd */ /* --- setzen der Dateiattribute */ cmd = protect StartSkriptDir alle address command cmd OPTIONS RESULTS Skript = SPACE(StartSkriptdir || DatVar || name1,0) call rtezRequest Skript ," _verstanden "," Der Name des Start-Makros lautet:" putze: /* entfernen der Sonderzeichen rückgängig machen */ IF EXISTS('ENV:adm13') THEN ADM.FirstName = ADM.Firstname.si IF EXISTS('ENV:adm13') THEN ADM.LastName = ADM.Lastname.si IF EXISTS('ENV:adm13') THEN ADM.Company = ADM.Company.si IF EXISTS('ENV:adm13') THEN ADM.BANKCODE = ADM.BANKCODE.si IF EXISTS('ENV:adm13') THEN CHANGEADDRESS ADM IF EXISTS('ENV:adm13') THEN GETADDRESS ADM IF EXISTS('ENV:adm13') THEN call rtezREQUEST '- Änderungen wurden rückgängig gemacht. -'||'0A'x ||'Trotzdem wird ADM beim beenden nachfragen'||'0A'x||'ob gespeichert werden soll !','Aha','Makro-Hinweis', Flags IF EXISTS('ENV:Show') THEN DISPLAY /* --- aufräumen der Variablen */ line = Close('Pfad') line1 = Close('PWPfad') line2 = Close('EDIT') line3 = Close('KNPfad') DatVar = Close('Check') DO i = 1 to 13 address command 'delete >NIL: ENV:adm' || i address command 'delete >NIL: ENV:Show' end /* Überweisung sofort erledigen wenn Datum von heute ? */ address command 'sys:rexxc/rx' ADMPfad || 'Arexx/Homebanking/CheckUeberweisung.adm' EXIT /* Programmende */ Fehler1: Reqtext = 'Achtung Fehler1:'||'0A'x|| '' ||'0A'x|| 'Bitte erst mit ADMBankingPrefs alle notwendigen Variablen einstellen !' CALL Requester Fehler2: call rtezREQUEST "TAN wurde nicht sechstellig angegeben","_Abruch","Makro-Hinweis" line = Close('Pfad') line1 = Close('PWPfad') line2 = Close('EDIT') line3 = Close('KNPfad') DatVar = Close('Check') /* entfernen der Sonderzeichen rückgängig machen */ IF EXISTS('ENV:adm13') THEN ADM.FirstName = ADM.Firstname.si IF EXISTS('ENV:adm13') THEN ADM.LastName = ADM.Lastname.si IF EXISTS('ENV:adm13') THEN ADM.Company = ADM.Company.si IF EXISTS('ENV:adm13') THEN ADM.BANKCODE = ADM.BANKCODE.si IF EXISTS('ENV:adm13') THEN CHANGEADDRESS ADM IF EXISTS('ENV:adm13') THEN GETADDRESS ADM IF EXISTS('ENV:adm13') THEN call rtezREQUEST '- Änderungen wurden rückgängig gemacht. -'||'0A'x ||'Trotzdem wird ADM beim beenden nachfragen'||'0A'x||'ob gespeichert werden soll !','Aha','Makro-Hinweis', Flags DO i = 1 to 13 address command 'delete >NIL: ENV:adm' || i end exit Fehler3: call rtezREQUEST "Angaben wurden fehlerhaft oder garnicht gemacht","_Abruch","Makro-Hinweis" call rtezrequest 'Damit die letzte TAN nicht verschwendet'||'0A'x||'wurde, hier nochmal zum aufschreiben:'||'0A'x||'----> 'pTAN1' <----'||'0A'x||'bitte beim nächsten Versuch'||'0A'x||'*** per Abfragerequester ***'||'0A'x||'auswählen und per Hand eintragen !!!','ist notiert','Hinweis',Flags line = Close('Pfad') line1 = Close('PWPfad') line2 = Close('EDIT') line3 = Close('KNPfad') DatVar = Close('Check') /* entfernen der Sonderzeichen rückgängig machen */ IF EXISTS('ENV:adm13') THEN ADM.FirstName = ADM.Firstname.si IF EXISTS('ENV:adm13') THEN ADM.LastName = ADM.Lastname.si IF EXISTS('ENV:adm13') THEN ADM.Company = ADM.Company.si IF EXISTS('ENV:adm13') THEN ADM.BANKCODE = ADM.BANKCODE.si IF EXISTS('ENV:adm13') THEN CHANGEADDRESS ADM IF EXISTS('ENV:adm13') THEN GETADDRESS ADM IF EXISTS('ENV:adm13') THEN DO i = 1 to 13 address command 'delete >NIL: ENV:adm' || i end exit Requester: Flags = 'rtez_flags = ezreqf_centertext' Titel = Ver 'Fehlermelung:' Gadget = '_OK' Auswahl = rtezrequest(Reqtext,Gadget,Titel,Flags) EXIT end if RESULT = 1 THEN DO OPTIONS RESULTS quote = '"' GETADDRESS Stemmy Nam = Stemmy.FIRSTNAME Stemmy.LASTNAME Tel = Stemmy.Telephone IF Stemmy.SORT = 'COMPANY' THEN Nam = Stemmy.company ADDRESS command 'run >NIL:' VoiceLogPath quote||Nam||quote quote||Tel||quote EXIT END if RESULT = 2 THEN DO OPTIONS RESULTS call rtezRequest 'fällige starten oder selber auswählen ?' ,'_fällige starten|_selber auswählen','bitte wählen:' if RESULT = 1 then address command 'sys:rexxc/rx' ADMPfad || 'Arexx/Homebanking/CheckUeberweisung.adm' end if RESULT = 0 then do rex = "sys:rexxc/rx >NIL:" dir = "sys:s/Üwsg/" file = "" title = "Überweisung auswählen" ok = "OK" filename = rtfilerequest(dir,file,title,ok) if filename = "" then do call rtezrequest("Keine Datei ausgewählt", "Abbruch") EXIT end Address command rex filename END END ELSE DO ADDRESS COMMAND 'WBRUN' ADMPFAD || 'Addressmaster' END EXIT